<?php

class Pages extends CI_Controller {

    function index() {
        
        $auth = $this->im_auth->auth_check(); //проверяем авторизован ли пользователь
        if ($auth != true) {redirect(site_url('/welcome/login'));}
        else {
            $this->load->view('top');
            
            //Загружаем модель страниц
            $this->load->model('Pages_model', '', TRUE);
            
            //Получаем данные с БД
            $content = $this->Pages_model->get_last_entries();
            
            /*echo '<pre>';
            print_r($content);
            echo '</pre>';*/
            
            //Генерация таблицы
            $tbl = '<table class="outtable" border="1">
                     <tr><td>id</td><td>Название</td><td>Родитель (id)</td><td>Алиас</td><td>Ключ сортировки</td><td>Дата добавления</td><td>&nbsp;</td><td>&nbsp;</td></tr>';
            foreach ($content as $row){
                $parent = $this->Pages_model->get_parent($row['id_parent']);
                $tbl .= '<tr><td>' . $row['id_page'] . '</td><td>' . $row['title'] . '</td><td>' . $parent . ' ('.$row['id_parent'].')</td><td>' . $row['alias'] . '</td><td>' . $row['key'] . '</td><td>' . $row['date'] . '</td>
                         <td><a href="' . site_url('pages/edit/' . $row['id_page']) . '">Edit</a></td>
                         <td><a href="' . site_url('pages/drop/' . $row['id_page']) . '">Drop</a></td></tr>';
            }
            $tbl .= '</table>';
            $table['table'] = $tbl;
            $table['add'] = site_url('pages/add');
            
            $this->load->view('pages/temp_pages', $table);
            
            $this->load->view('bottom');
        }
    }
    
    function add() {
        $auth = $this->im_auth->auth_check(); //проверяем авторизован ли пользователь
        if ($auth != true) {redirect(site_url('/welcome/login'));}
        else {
            $this->load->view('top');
            
            //Загружаем библиотеку Table
            $this->load->library('table');
            
            //Загружаем модель страниц
            $this->load->model('Pages_model', '', TRUE);

            $add['form'] = form_open();
            
            //Заполняем пустышками:
            if ($this->input->post('id_parent') == NULL)
                $id_parent = 0;
            else
                $id_parent = $this->input->post('id_parent');
            
            if ($this->input->post('key') == NULL)
                $key = 500;
            else
                $key = $this->input->post('key');
            
            $data = array(
                array('ID родителя:', form_input('id_parent', $id_parent)),
                array('Ключ сортировки:', form_input('key', $key)),
                array('Алиас:', form_input('alias', $this->input->post('alias')).''),
                array('Название(в окне браузера):', form_input('title', $this->input->post('title'))),
                array('Название(Тег h1 - заголовок страницы):', form_input('header', $this->input->post('header'))),
                array('Описание(Краткое):', form_textarea('description', $this->input->post('description'))),
                array('Описание(Полное):', form_textarea('full_description', $this->input->post('full_description'))),
                array('', form_submit('go', 'Добавить'))
            );
            $tmpl = array(
                'table_open' => '<table class="outtable" border="0">',
                'heading_cell_start' => '<td valign="top" align="left">',
                'heading_cell_end' => '</td>',
                'cell_start' => '<td valign="top" align="left">',
                'cell_end' => '</td>',
                'cell_alt_start' => '<td valign="top" align="left">',
                'cell_alt_end' => '</td>',
            );
            $this->table->set_template($tmpl);
            $add['form'] .= $this->table->generate($data);
            $add['form'] .= form_close();
            
            //Обработчик событий
            if (isset($_POST['title'])) {
                if ($this->input->post('title') == NULL)
                    $add['error'] = 'Не заполнено поле "Название(в окне браузера)".';
                elseif ($this->input->post('id_parent') == NULL)
                    $add['error'] = 'Не заполнено поле "ID родителя".';
                elseif ($this->input->post('key') == NULL)
                    $add['error'] = 'Не заполнено поле "Ключ сортировки".';
                elseif ($this->input->post('alias') == NULL)
                    $add['error'] = 'Не заполнено поле "Алиас".';
                elseif ($this->input->post('header') == NULL)
                    $add['error'] = 'Не заполнено поле "Название(Тег h1 - заголовок страницы)".';
                else {
                    $data = array(
                        'id_parent' => $this->input->post('id_parent'),
                        'key' => $this->input->post('key'),
                        'alias' => $this->input->post('alias'),
                        'title' => $this->input->post('title'),
                        'header' => $this->input->post('header'),
                        'description' => $this->input->post('description'),
                        'full_description' => $this->input->post('full_description'),
                        'date' => date('Y-m-d H:i:s'),
                    );
                    /*echo '<pre>';
                    print_r($data);
                    echo '</pre>';*/
                    $this->Pages_model->insert_one_entrie($data);
                    $add['error'] = 'Успешно записано!';
                }
            }
            else
                $add['error'] = 'Пожалуйста, заполните все поля.';
            
            $this->load->view('pages/temp_pages_add', $add);
            
            $this->load->view('bottom');
        }
    }
    
    public function drop($id, $drop = '0') {
        $auth = $this->im_auth->auth_check(); //проверяем авторизован ли пользователь
        if ($auth != true) {redirect(site_url('/welcome/login'));}
        else {
            $this->load->view('top');
            
            //Загружаем модель страниц
            $this->load->model('Pages_model', '', TRUE);

            if ($drop == '0' && is_numeric($id)) {
                $vdrop['ask'] = 'Удалить запись #' . $id . '?';
                $vdrop['url_yes'] = site_url('pages/drop/' . $id . '/yes');
                $vdrop['url_no'] = site_url('pages/drop/' . $id . '/no');
                $vdrop['drop'] = $drop;
            } elseif ($drop == 'yes' && is_numeric($id)) {
                $vdrop['drop'] = $drop;

                //Удалить одну запись
                $this->Pages_model->drop_one_entrie($id);
                
                redirect('/pages', 'refresh');
            } else {
                $vdrop['drop'] = $drop;
                redirect('/pages', 'refresh');
            }

            //Загружаем отображение удаления
            $this->load->view('pages/temp_pages_drop', $vdrop);
            
            $this->load->view('bottom');
        }
    }
    
    function edit($id) {
        $auth = $this->im_auth->auth_check(); //проверяем авторизован ли пользователь
        if ($auth != true) {redirect(site_url('/welcome/login'));}
        else {
            $this->load->view('top');
            
            //Загружаем библиотеку Table
            $this->load->library('table');
            
            //Загружаем модель страниц
            $this->load->model('Pages_model', '', TRUE);
            
            //Получение данных из БД
            $content = $this->Pages_model->get_one_entrie($id);

            if (!isset($_POST['title'])) {
                $id_parent = $content[0]['id_parent'];
                $key = $content[0]['key'];
                $alias = $content[0]['alias'];
                $title = $content[0]['title'];
                $header = $content[0]['header'];
                $description = $content[0]['description'];
                $full_description = $content[0]['full_description'];
            } else {
                $id_parent = $this->input->post('id_parent');
                $key = $this->input->post('key');
                $alias = $this->input->post('alias');
                $title = $this->input->post('title');
                $header = $this->input->post('header');
                $description = $this->input->post('description');
                $full_description = $this->input->post('full_description');
            }
            
            
            $edit['form'] = form_open();
            $data = array(
                array('ID родителя:', form_input('id_parent', $id_parent)),
                array('Ключ сортировки:', form_input('key', $key)),
                array('Алиас:', form_input('alias', $alias)),
                array('Название(в окне браузера):', form_input('title', $title)),
                array('Название(Тег h1 - заголовок страницы):', form_input('header', $header)),
                array('Описание(Краткое):', form_textarea('description', $description)),
                array('Описание(Полное):', form_textarea('full_description', $full_description)),
                array('', form_submit('go', 'Изменить'))
            );
            $tmpl = array(
                'table_open' => '<table class="outtable" border="0">',
                'heading_cell_start' => '<td valign="top" align="left">',
                'heading_cell_end' => '</td>',
                'cell_start' => '<td valign="top" align="left">',
                'cell_end' => '</td>',
                'cell_alt_start' => '<td valign="top" align="left">',
                'cell_alt_end' => '</td>',
            );
            $this->table->set_template($tmpl);
            $edit['form'] .= $this->table->generate($data);
            $edit['form'] .= form_close();
            
            //Обработчик событий
            if (isset($_POST['title'])) {
                if ($this->input->post('title') == NULL)
                    $edit['error'] = 'Не заполнено поле "Название(в окне браузера)".';
                elseif ($this->input->post('id_parent') == NULL)
                    $edit['error'] = 'Не заполнено поле "ID родителя".';
                elseif ($this->input->post('key') == NULL)
                    $edit['error'] = 'Не заполнено поле "Ключ сортировки".';
                elseif ($this->input->post('alias') == NULL)
                    $edit['error'] = 'Не заполнено поле "Алиас".';
                elseif ($this->input->post('header') == NULL)
                    $edit['error'] = 'Не заполнено поле "Название(Тег h1 - заголовок страницы)".';
                else {
                    $data = array(
                        'id_parent' => $this->input->post('id_parent'),
                        'key' => $this->input->post('key'),
                        'alias' => $this->input->post('alias'),
                        'title' => $this->input->post('title'),
                        'header' => $this->input->post('header'),
                        'description' => $this->input->post('description'),
                        'full_description' => $this->input->post('full_description'),
                        'date' => date('Y-m-d H:i:s'),
                    );
                    /*echo '<pre>';
                    print_r($data);
                    echo '</pre>';*/
                    $this->Pages_model->update_one_entrie($id, $data);
                    $edit['error'] = 'Успешно записано!';
                }
            }
            else
                $edit['error'] = 'Пожалуйста, заполните все поля.';
            
                $edit['id'] = $id;
            
            $this->load->view('pages/temp_pages_edit', $edit);
            
            $this->load->view('bottom');
        }
    }

}

?>